Garbage Collection and Run-time Typing as a C++ Library
نویسنده
چکیده
provide garbage collection. This paper proposes the use of \smart pointer" template classes as an interface for the use of garbage collection in C ++ . Template classes and operator overloading are techniques allowing language extension at the level of user code; I claim that using these techniques to create smart pointer classes provides a syntax for manipulating garbage-collected storage safely and conveniently. Further, the use of a smart-pointer template class o ers the possibility of implementing the collector at the user-level, without requiring support from the compiler. If such a compiler-independent implementation is possible with adequate performance, then programmers can start to write code using garbage collection without waiting for language and compiler modi cations. If the use of such a garbage-collection interface becomes widespread, then C ++ compilation systems can be built to specially support the garbage collection interface, thereby allowing the use of collection algorithms with enhanced performance. This paper presents such a garbage collection interface and implementation. In particular, the collection scheme has the following properties:
منابع مشابه
Garbage Collection for Strongly - Typed Languagesusing Run - time Type
Garbage collectors perform two functions: live-object detection and dead-object reclamation. In this paper, we present a new technique for live-object detection based on run-time type reconstruction for a strongly-typed, polymorphic language. This scheme uses compile-time type information together with the run-time tree of activation frames to determine the exact type of every object participat...
متن کاملThe Sather Language and Libraries
Sather is an object-oriented language derived from Eiffel which is particularly well suited for the needs of scientific research groups. It is designed to be very efficient and simple while supporting strong typing, garbage collection, object-oriented dispatch, multiple inheritance, parameterized types, and a clean syntax:. It compiles into portable C code and easily links with existing C code....
متن کاملGarbage Collection and Local Variable Type-Precision and Liveness in JavaTM Virtual Machines
Full precision in garbage collection implies retaining only those heap allocated objects that will actually be used in the future. Since full precision is not computable in general, garbage collectors use safe (i.e., conservative) approximations such as reachability from a set of root references. Ambiguous roots collectors (commonly called “conservative”) can be overly conservative because they...
متن کاملGarbage Collection for Strongly-typed Languages Using Run-time Type Reconstruction Garbage Collection for Strongly-typed Languages Using Run-time Type Reconstruction
Garbage collectors perform two functions: live-object detection and dead-object reclamation. In this paper, we present a new technique for live-object detection based on run-time type reconstruction for a strongly-typed, polymorphic language. This scheme uses compile-time type information together with the run-time tree of activation frames to determine the exact type of every object participat...
متن کاملDesign of the Distributed ProcessBase Architecture
ProcessBase is an environment designed to support process modelling languages. This environment consists of a language, its interpreter and a persistent object store. Currently this environment supports concurrency through a multi-threading library, however, only a single interpreter instantiation exists as a supported architecture. ProcessBase is a simple language that provides many sophistica...
متن کامل